The present invention relates to a system comprising a source database and a target database, and more specifically, to controlling said system and the loading of data.
Database replication is meanwhile used by many database management systems for replicating data changes made in one database, also known as “master” or “source” database, to one or more other “slave” or “target” databases. The replication may be performed in order to mirror data in the master database multiple times on multiple servers or to store data in the slave database in a different format than in the master database.
In addition or as an alternative to data replication facilities, snapshot technologies may be used for creating snapshots of one or more tables of the master database and for transferring said snapshots into a slave database, e.g. upon a system outage or restart.
While a load process is fast but comes at the expense of a large amount of data to be transferred, replication, in particular incremental replication approaches, cause less data traffic but may be slow due to a latency time caused e.g. by a capture process, by computational overhead associated with using a heterogeneous database architecture or by characteristics of the hardware underlying the replication process. Without additional safety measures, a combination of loading and replication approaches could easily result in data inconsistencies between the master database and the slave database and the safety measures may significantly reduce the speed of data transfer from the master to the slave database for bringing both database copies in sync.